package 链表;

public class 面试题0202返回倒数第k个节点 {

    /**
     * 实现一种算法，找出单向链表中倒数第 k 个节点。返回该节点的值。
     *
     * 示例：
     * 输入： 1->2->3->4->5 和 k = 2
     * 输出： 4
     * 说明：
     * 给定的 k 保证是有效的。
     */

    public static int kthToLast(ListNode head, int k) {
        ListNode node=head;
        while ((k--)>1){
            head=head.next;
        }

        while (head.next!=null){
            head=head.next;
            node=node.next;
        }

        return node.val;
    }

    public static void main(String[] args) {
        ListNode listNode = ListNode.createListNode(new int[]{1, 2, 3, 4, 5, 6, 7});
        int i=kthToLast(listNode,2);
        System.out.println(i);
    }

}
